<?php

namespace Framework;

class FrameTemp
{
//    public function setCookie()
//    {

//        $response = new Response();
    ////        $response = $response->withAddedHeader("Content-Type", 'application/json');
//        $response = $response->withHeader("Content-Type", 'application/json');
//        $response = $response->withAddedHeader('set-cookie', new SetCookie(['Name' => 'owen', 'Value' => 'test']));
//        $warehouse->set('response', $response);
//        $warehouse->set('responseProcessor', new ResponseProcessor());
//    }


//    public function controllerResultToFrameResponse($result)
//    {
//        if ($result instanceof ResponseInterface) {
//            $this->dataWarehouse->setForce('response', $result);
//            return true;
//        }
//
//        if (is_array($result)) {
//            $this->dataWarehouse->setForce('response', ResponseGen::success($result));
//            return true;
//        }
//
//        if (is_string($result)) {
//            $this->dataWarehouse->setForce('response', ResponseGen::raw($result));
//            return true;
//        }
//
//        return false;
//    }


//    public function returnDataToResponse($resultData)
//    {
//        if ($resultData instanceof ResponseInterface) {
//            $ret = $this->processResponse($resultData);
//        }
//
//        if (is_array($resultData) || is_string($resultData)) {
//            $response = ResponseGen::success($resultData);
//        }
//        $ret = $this->processResponse($response);
//    }

//    public function processResponse(ResponseInterface $response)
//    {
//        return
//            sprintf('HTTP/%s %s %s', $response->getProtocolVersion(), $response->getStatusCode(),
//                $response->getReasonPhrase()) . "\r\n" .
//            $this->headersToString($response->getHeaders()) . "\r\n" .
//            $response->getBody()->getContents();

//        header(sprintf('HTTP/%s %s %s', $response->getProtocolVersion(), $response->getStatusCode(),
//            $response->getReasonPhrase()));
//        $this->outHeaders($response->getHeaders());

//        /**
//         * @var $responseProcessor ResponseProcessor;
//         */
//        $responseProcessor = $this->dataWarehouse->get('responseProcessor');
//        $responseProcessor->send($response);
//    }

//    public function outHeaders(array $headers)
//    {
//        ksort($headers);
//        $max = max(array_map('strlen', array_keys($headers))) + 1;
//        foreach ($headers as $name => $values) {
//            $name = ucwords($name, '-');
//            foreach ($values as $value) {
//                $header = sprintf("%-{$max}s %s\r\n", $name . ':', $value);
//                header($header);
//            }
//        }
//
//        return true;
//    }


    /**
     * @param array $headers
     * 感谢Symfony
     * @return  string
     */
//    public function headersToString(array $headers)
//    {
//        ksort($headers);
//        $max = max(array_map('strlen', array_keys($headers))) + 1;
//        $content = '';
//        foreach ($headers as $name => $values) {
//            $name = ucwords($name, '-');
//            foreach ($values as $value) {
//                $content .= sprintf("%-{$max}s %s\r\n", $name . ':', $value);
//            }
//        }
//
//        return $content;
//    }

    public function setHeader()
    {
    }
}
